package com.alibaba.algo.cooperation.usercomponent.service.app;

import com.alibaba.algo.cooperation.common.BaseResult;
import com.alibaba.algo.cooperation.usercomponent.vo.req.app.CreateAppAccountRequestVO;
import com.alibaba.algo.cooperation.usercomponent.vo.req.app.DeleteAppAccountRequestVO;
import com.alibaba.algo.cooperation.usercomponent.vo.req.app.SelectAppAccountRequestVO;
import com.alibaba.algo.cooperation.usercomponent.vo.req.app.UpdateAppAccountRequestVO;
import com.alibaba.algo.cooperation.usercomponent.vo.res.app.AppAccountResponseVO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import java.util.List;

/**
 * 类AppAccountService.java的实现描述：应用账号 service
 *
 * @author nieganggang 2021-03-12 16:08:17
 */
@FeignClient(url="${feign.userCenterUrl:}", value = "usercenter-service", contextId = "usercenter-app")
public interface AppAccountService {

    @RequestMapping(value = "/appAccount/insert", method = RequestMethod.POST)
    void insert(@RequestBody CreateAppAccountRequestVO vo);

    @RequestMapping(value = "/appAccount/delete", method = RequestMethod.POST)
    BaseResult<Boolean> delete(@RequestBody DeleteAppAccountRequestVO vo);

    @RequestMapping(value = "/appAccount/update", method = RequestMethod.POST)
    void update(@RequestBody UpdateAppAccountRequestVO vo);

    @RequestMapping(value = "/appAccount/selectList", method = RequestMethod.POST)
    BaseResult<List<AppAccountResponseVO>> selectList(@RequestBody SelectAppAccountRequestVO vo);
}
